package com.jky.trial.service;


import com.jky.trial.common.ListResult;
import com.jky.trial.entity.Msg;
import com.jky.trial.vo.MsgVo;

import java.util.List;

public interface MsgService {
    /**
     * 创建
     *
     * @param record
     * @return
     */
    int create(Msg record);

    /**
     * 更新
     *
     * @param record
     * @return
     */
    int update(Msg record);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    int del(int id);
    int delBy(Msg msg);
    int delBy(int targetId);

    /**
     * 详情
     *
     * @param id
     * @return
     */
    Msg detail(int id);

    /**
     * @param toUser  接收人
     * @param content 消息内容
     * @return
     */
    Msg sendMsg(
            int fromUser,//来源用户，0表示系统
            int toUser, //目标用户
            String content, //消息内容
            int targetId, //相关主体
            int type//消息类型
    );

    /**
     * 分页
     *
     * @param record
     * @return
     */
    List<MsgVo> list(MsgVo record);

    ListResult page(MsgVo record);

    ListResult pageListWithFromUserName(MsgVo example);

    /**
     * 统计
     *
     * @param record
     * @return
     */
    long count(Msg record);

}
